配置OSS文件系统 您所在的位置:网站首页 oss 文件系统 配置OSS文件系统

配置OSS文件系统

2023-08-07 12:06| 来源: 网络整理| 查看: 265

常见问题提示OSS挂载失败,报错信息为bucket not found or bucket path does not exist。

请确认OSS访问地址、Bucket名称是否填写准确。

请确认Bucket子目录是否填写准确,所指定目录是否在Bucket中预先存在。例如,若您指定Bucket子目录为/folderA或/folderA/,则Bucket中必须存在Object folderA/。仅存在Object folderA(末尾无/)、folderA/file,或者folderA/folderB/均会报错。

请确认是否为Bucket启用了静态网站托管功能。例如,若您开启了OSS静态网站托管功能,设定子目录首页名称为index.html,函数计算平台向OSS请求检查Bucket子目录/subdir是否存在时,OSS会尝试检查Object subdir/index.html是否存在,若不存在则会产生如上报错信息。更多示例请参见配置示例。

提示OSS挂载失败,报错信息为host resolv error或deadline exceeded。

请确认Endpoint地址是否填写准确。

Endpoint地址中的域名解析失败会导致host resolv error报错。

内网Endpoint不可跨地域使用。使用其他地域的内网Endpoint作为访问地址时,会出现连接超时,导致deadline exceeded报错。

挂载失败,报错信息为invalid credentials。

请确认您为服务配置的RAM角色是否具备访问OSS的权限,权限信息如下所示。更多信息,请参见授予函数计算访问其他云服务的权限。

只读:包括oss:ListObjects和oss:GetObject策略。

读写:包括oss:ListObjects、oss:GetObject、oss:PutObject、oss:DeleteObject、oss:ListParts和oss:AbortMultipartUpload。

说明

oss:ListObjects为Bucket级别操作。因此,当您为特定的Bucket开启访问时,权限策略中需要包含Bucket级别的资源指示,例如acs:oss:*:*:bucketName。更多信息,请参见OSS Resource说明。

如何通过权限策略仅允许只读访问指定Bucket?

展开查看权限策略描述示例。请将示例中bucketName替换为指定的Bucket名称。更多信息,请参见RAM Policy概述。

{ "Version": "1", "Statement": [ { "Action": [ "oss:ListObjects", "oss:GetObject" ], "Resource": [ "acs:oss:*:*:bucketName", "acs:oss:*:*:bucketName/*" ], "Effect": "Allow" } ] }如何通过权限策略允许读写访问指定Bucket?

展开查看权限策略描述示例。请将示例中bucketName替换为指定的Bucket名称。更多信息,请参见RAM Policy概述。

{ "Version": "1", "Statement": [ { "Action": [ "oss:ListObjects", "oss:GetObject", "oss:PutObject", "oss:DeleteObject", "oss:AbortMultipartUpload", "oss:ListParts" ], "Resource": [ "acs:oss:*:*:bucketName", "acs:oss:*:*:bucketName/*" ], "Effect": "Allow" } ] }如何通过权限策略仅允许只读访问指定Bucket的子目录?

展开查看权限策略描述示例。请将示例中bucketName替换为指定的Bucket名称,bucketPath替换为指定的Bucket子目录。更多信息,请参见RAM Policy概述。

{ "Version": "1", "Statement": [ { "Action": "oss:ListObjects", "Effect": "Allow", "Resource": [ "acs:oss:*:*:bucketName" ], "Condition": { "StringLike": { "oss:Prefix": [ "bucketPath/*" ] } } }, { "Action": [ "oss:GetObject" ], "Effect": "Allow", "Resource": [ "acs:oss:*:*:bucketName/bucketPath/*" ] } ] }如何通过权限策略允许读写访问指定Bucket的子目录?

展开查看权限策略描述示例。请将示例中bucketName替换为指定的Bucket名称,bucketPath替换为指定的Bucket子目录。更多信息,请参见RAM Policy概述。

{ "Version": "1", "Statement": [ { "Action": "oss:ListObjects", "Effect": "Allow", "Resource": [ "acs:oss:*:*:bucketName" ], "Condition": { "StringLike": { "oss:Prefix": [ "bucketPath/*" ] } } }, { "Action": [ "oss:GetObject", "oss:PutObject", "oss:DeleteObject", "oss:AbortMultipartUpload", "oss:ListParts" ], "Effect": "Allow", "Resource": [ "acs:oss:*:*:bucketName/bucketPath/*" ] } ] }通过OSS挂载点写文件的过程中,从OSS侧观察文件为空。

通过OSS挂载点写文件时,一般情况下,系统只在用户主动调用Flush或者关闭文件时,才将写入内容上传至OSS侧。

在OSS挂载点中,执行压缩、解压或文件传输等操作时响应较慢。

OSS本身不支持文件系统API。当您将OSS Bucket挂载为目录之后,函数计算会组合封装OSS API,实现文件系统API的效果。例如,OSS本身不支持随机写,当您需要使用文件系统API变更OSS挂载点上现有的文件时,函数计算会将源文件从OSS全量下载并改写后重新上传到OSS。

当文件系统API与OSS API功能对应时,例如顺序的文件读写,通常操作执行的性能较好。而需要组合封装OSS API实现的操作,例如压缩、解压可能用到的文件随机读写操作,可能需与OSS进行多次交互,故性能略差于本地文件系统。

不同函数实例之间访问OSS挂载点会互相协调同步吗?

不同函数实例之间相互独立,不同实例中查询到的OSS挂载点内容可能不同。例如,通过函数实例A在OSS挂载点中创建文件F后,在函数实例B中可能无法实时查询到该文件。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有